Для нашего проекта создадим папку HyprCalendarWidget, внутри папки создадим файл meson.build
project('hypr_calendar_widget', 'vala', version:'0.1')
depts = [
dependency('gtk4'),
dependency('gtk4-layer-shell-0')
]
sources = files(
'src/MainWindow.vala',
'src/Application.vala'
)
executable(
'hypr_calendar_widget',
sources,
dependencies: depts,
vala_args: ['--pkg', 'posix']
)
Разберём этот файл:
В этой строке задаётся имя программы, язык на котором она будет написана, и версия
project('hypr_calendar_widget', 'vala', version:'0.1')
В depts перечисляются зависимости проекта
- gtk4 - графическая библиотека для создания ui
- gtk4-layer-shell-0 - библиотека для GTK4-приложений, которая позволяет окнам взаимодействовать с протоколом Layer Shell в композиторах на базе Wayland, с его помощью можно расположить окно по верх всех приложений, или зарезервировать для него место, как это делает waybar
depts = [
dependency('gtk4'),
dependency('gtk4-layer-shell-0')
]
В sources перечислены файлы с кодом нашего приложения
sources = files(
'src/MainWindow.vala',
'src/Application.vala'
)
В секции executable прописано имя приложения, массив имен файлов с кодом sources, массив с именами зависимостей depts и подключение библиотеки posix vala_args: ['--pkg', 'posix'] для того чтобы иметь возможность посылать сигналы нашему виджету
executable(
'hypr_calendar_widget',
sources,
dependencies: depts,
vala_args: ['--pkg', 'posix']
)